package com.itheima.d5_interface;

/**
 * 多态的前提：
 *      1、需要有继承、实现关系
 *      2、父类型引用，接收子类对象
 *      3、方法的重写
 */
public class Demo {
    public static void main(String[] args) {
        // 目标：接口的定义和使用

        //接口是抽象的，不能直接实例化（即创建对象）
//        Sing s = new Sing(); //报错：'Sing' is abstract; cannot be instantiated

        SuperStar ss = new SuperStar();
        ss.singASong1();

        //接口多态，接口也是一个父类型，可以接收实现类对象
        //多态
        Sing s1 = new SuperStar(); //父接口类型接收子类对象

        SuperStar s2 = new SuperStar();
        s2.singASong2();
        s2.playing();
    }
}
